/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.wpi.first.wpilibj.templates;

/**
 *
 * @author robert
 */
public interface Const {
    /// compressor switch
    public int COMPSWITCH();
    /// compressor relay
    public int COMPRELAY();

    /// left light port
    public int LIGHTLEFT();
    /// middle light port
    public int LIGHTMIDDLE();
    /// right light port
    public int LIGHTRIGHT();

    /// left encoder port 1
    public int LEFTENCODER1();
    /// left encoder port 2
    public int LEFTENCODER2();

    /// right encoder port 1
    public int RIGHTENCODER1();
    /// right encoder port 2
    public int RIGHTENCODER2();

    /// BCD port 1
    public int BCD1();
    /// BCD port 2
    public int BCD2();

    ///  left jaguar 1
    public int LEFT_JAGUAR_1();
    /// left jaguar 2
    public int LEFT_JAGUAR_2();
    /// right jaguar 1
    public int RIGHT_JAGUAR_1();
    /// right jaguar 2
    public int RIGHT_JAGUAR_2();

    /// lifter jaguar ID
    public int LIFTER_JAGUAR();
    /// claw jaguar ID
    public int CLAWJAGUAR();
    /// claw solenoid port
    public int CLAWSOLENOID();
    /// lifter potentiometer port
    public int LIFTERPOTENTIOMTER();
    /// claw potentiometer port
    public int CLAWPOTENTIOMETER();
    /// lifter top limit switch
    public int LIFTERTOPLIMITPORT();
    /// lifter bottom limit switch
    public int LIFTERBOTTOMLIMITPORT();
    /// claw top limit switch
    public int CLAWTOPLIMITPORT();
    /// claw bottom limit switch
    public int CLAWBOTTOMLIMITPORT();

    /// left joystick ID
    public int LEFTJOYSTICK();
    /// right joystick ID
    public int RIGHTJOYSTICK();
    /// gamepad ID
    public int GAMEPAD();

    /// minibot deployment solenoid
    public int MINIBOTSOLENOID();
    /// first minibot trigger
    public int MINIBOTBUTTON1();
    /// second minibot trigger
    public int MINIBOTBUTTON2();

    /// gamepad button to enable claw
    public int ENABLECLAWGAMEPADBUTTON();
    /// joystick button to enable claw
    public int ENABLECLAWJOYSTICKBUTTON();
    /// lifter down preset button
    public int LIFTERDOWNBUTTON();
    /// lifter low preset button
    public int LIFTERLOWBUTTON();
    /// lifter middle preset button
    public int LIFTERMIDDLEBUTTON();
    /// lifter high preset button
    public int LIFTERHIGHBUTTON();
    /// lifter shift button
    public int LIFTERSHIFTBUTTON();

    // moter inversions (false if 1, true if -1)
    /// left moter inversion
    public int LEFTINVERTED();
    /// right motor inversion
    public int RIGHTINVERTED();

    // lifter heights
    /// lifter down preset
    public int LIFTERDOWN();
    /// lifter loading slot preset
    public int LIFTERSLOT();
    /// lifter shifted low preset
    public int LIFTERLOWSHIFT();
    /// lifter low preset
    public int LIFTERLOW();
    /// lifter shifted middle preset
    public int LIFTERMIDDLESHIFT();
    /// lifter middle preset
    public int LIFTERMIDDLE();
    /// lifter shifted high preset
    public int LIFTERHIGHSHIFT();
    /// lifter high preset
    public int LIFTERHIGH();
    /// No lift button pressed.
    public int NOLIFTEBUTTONPRESSED();

    // claw autonomous setting
    /// arm autonomous preset
    public int ARMAUTONOMOUSVALUE();
    /// allowed error for arm
    public int ARMAUTONOMOUSERR0R();


    // lifter and claw soft limits
    /// lifter bottom soft limit
    public int LIFTERBOTTOMLIMIT();
    /// lifter bottom hard limit
    public int LIFTERTOPLIMIT();
    /// claw bottom soft limit
    public int CLAWBOTTOMLIMIT();
    /// claw top soft limit
    public int CLAWTOPLIMIT();

    /// zone margins
    public int LIFTERSTOPZONE();
    public int LIFTERREDZONE();

    public double LIFTERREDZONESPEED();
}
